Discrete Fourier Transform
   HOME

TheInfoList



OR:

In
mathematics Mathematics is an area of knowledge that includes the topics of numbers, formulas and related structures, shapes and the spaces in which they are contained, and quantities and their changes. These topics are represented in modern mathematics ...
, the discrete Fourier transform (DFT) converts a finite sequence of equally-spaced samples of a
function Function or functionality may refer to: Computing * Function key, a type of key on computer keyboards * Function model, a structured representation of processes in a system * Function object or functor or functionoid, a concept of object-oriente ...
into a same-length sequence of equally-spaced samples of the
discrete-time Fourier transform In mathematics, the discrete-time Fourier transform (DTFT) is a form of Fourier analysis that is applicable to a sequence of values. The DTFT is often used to analyze samples of a continuous function. The term ''discrete-time'' refers to the ...
(DTFT), which is a
complex-valued In mathematics, a complex number is an element of a number system that extends the real numbers with a specific element denoted , called the imaginary unit and satisfying the equation i^= -1; every complex number can be expressed in the form ...
function of frequency. The interval at which the DTFT is sampled is the reciprocal of the duration of the input sequence. An inverse DFT is a
Fourier series A Fourier series () is a summation of harmonically related sinusoidal functions, also known as components or harmonics. The result of the summation is a periodic function whose functional form is determined by the choices of cycle length (or ''p ...
, using the DTFT samples as coefficients of
complex Complex commonly refers to: * Complexity, the behaviour of a system whose components interact in multiple ways so possible interactions are difficult to describe ** Complex system, a system composed of many components which may interact with each ...
sinusoid A sine wave, sinusoidal wave, or just sinusoid is a mathematical curve defined in terms of the ''sine'' trigonometric function, of which it is the graph. It is a type of continuous wave and also a smooth periodic function. It occurs often in ma ...
s at the corresponding DTFT frequencies. It has the same sample-values as the original input sequence. The DFT is therefore said to be a
frequency domain In physics, electronics, control systems engineering, and statistics, the frequency domain refers to the analysis of mathematical functions or signals with respect to frequency, rather than time. Put simply, a time-domain graph shows how a signa ...
representation of the original input sequence. If the original sequence spans all the non-zero values of a function, its DTFT is continuous (and periodic), and the DFT provides discrete samples of one cycle. If the original sequence is one cycle of a periodic function, the DFT provides all the non-zero values of one DTFT cycle. The DFT is the most important
discrete transform In signal processing, discrete transforms are mathematical transforms, often linear transforms, of signals between discrete domains, such as between discrete time and discrete frequency. Many common integral transforms used in signal processing ...
, used to perform
Fourier analysis In mathematics, Fourier analysis () is the study of the way general functions may be represented or approximated by sums of simpler trigonometric functions. Fourier analysis grew from the study of Fourier series, and is named after Josep ...
in many practical applications. In
digital signal processing Digital signal processing (DSP) is the use of digital processing, such as by computers or more specialized digital signal processors, to perform a wide variety of signal processing operations. The digital signals processed in this manner are ...
, the function is any quantity or
signal In signal processing, a signal is a function that conveys information about a phenomenon. Any quantity that can vary over space or time can be used as a signal to share messages between observers. The '' IEEE Transactions on Signal Processing' ...
that varies over time, such as the pressure of a
sound wave In physics, sound is a vibration that propagates as an acoustic wave, through a transmission medium such as a gas, liquid or solid. In human physiology and psychology, sound is the ''reception'' of such waves and their ''perception'' by the ...
, a
radio Radio is the technology of signaling and communicating using radio waves. Radio waves are electromagnetic waves of frequency between 30 hertz (Hz) and 300 gigahertz (GHz). They are generated by an electronic device called a transmit ...
signal, or daily
temperature Temperature is a physical quantity that expresses quantitatively the perceptions of hotness and coldness. Temperature is measured with a thermometer. Thermometers are calibrated in various temperature scales that historically have relied o ...
readings, sampled over a finite time interval (often defined by a
window function In signal processing and statistics, a window function (also known as an apodization function or tapering function) is a mathematical function that is zero-valued outside of some chosen interval, normally symmetric around the middle of the inte ...
). In
image processing An image is a visual representation of something. It can be two-dimensional, three-dimensional, or somehow otherwise feed into the visual system to convey information. An image can be an artifact, such as a photograph or other two-dimensiona ...
, the samples can be the values of
pixel In digital imaging, a pixel (abbreviated px), pel, or picture element is the smallest addressable element in a raster image, or the smallest point in an all points addressable display device. In most digital display devices, pixels are the smal ...
s along a row or column of a
raster image upright=1, The Smiley, smiley face in the top left corner is a raster image. When enlarged, individual pixels appear as squares. Enlarging further, each pixel can be analyzed, with their colors constructed through combination of the values for ...
. The DFT is also used to efficiently solve
partial differential equations In mathematics, a partial differential equation (PDE) is an equation which imposes relations between the various partial derivatives of a multivariable function. The function is often thought of as an "unknown" to be solved for, similarly to ...
, and to perform other operations such as
convolution In mathematics (in particular, functional analysis), convolution is a operation (mathematics), mathematical operation on two function (mathematics), functions ( and ) that produces a third function (f*g) that expresses how the shape of one is ...
s or multiplying large integers. Since it deals with a finite amount of data, it can be implemented in
computer A computer is a machine that can be programmed to Execution (computing), carry out sequences of arithmetic or logical operations (computation) automatically. Modern digital electronic computers can perform generic sets of operations known as C ...
s by
numerical algorithm Numerical analysis is the study of algorithms that use numerical approximation (as opposed to symbolic manipulations) for the problems of mathematical analysis (as distinguished from discrete mathematics). It is the study of numerical methods th ...
s or even dedicated hardware. These implementations usually employ efficient fast Fourier transform (FFT) algorithms; so much so that the terms "FFT" and "DFT" are often used interchangeably. Prior to its current usage, the "FFT"
initialism An acronym is a word or name formed from the initial components of a longer name or phrase. Acronyms are usually formed from the initial letters of words, as in ''NATO'' (''North Atlantic Treaty Organization''), but sometimes use syllables, as ...
may have also been used for the ambiguous term " finite Fourier transform".


Definition

The ''discrete Fourier transform'' transforms a
sequence In mathematics, a sequence is an enumerated collection of objects in which repetitions are allowed and order matters. Like a set, it contains members (also called ''elements'', or ''terms''). The number of elements (possibly infinite) is calle ...
of ''N''
complex number In mathematics, a complex number is an element of a number system that extends the real numbers with a specific element denoted , called the imaginary unit and satisfying the equation i^= -1; every complex number can be expressed in the form ...
s \left \ := x_0, x_1, \ldots, x_ into another sequence of complex numbers, \left \ := X_0, X_1, \ldots, X_, which is defined by where the last expression follows from the first one by
Euler's formula Euler's formula, named after Leonhard Euler, is a mathematical formula in complex analysis that establishes the fundamental relationship between the trigonometric functions and the complex exponential function. Euler's formula states that for an ...
. The transform is sometimes denoted by the symbol \mathcal, as in \mathbf = \mathcal \left \ or \mathcal \left ( \mathbf \right ) or \mathcal \mathbf.


Motivation

can also be evaluated outside the domain k \in ,N-1/math>, and that extended sequence is N- periodic. Accordingly, other sequences of N indices are sometimes used, such as \left \frac, \frac - 1\right/math> (if N is even) and \left \frac, \frac\right/math> (if N is odd), which amounts to swapping the left and right halves of the result of the transform. can be interpreted or derived in various ways, for example: The normalization factor multiplying the DFT and IDFT (here 1 and \frac) and the signs of the exponents are merely conventions, and differ in some treatments. The only requirements of these conventions are that the DFT and IDFT have opposite-sign exponents and that the product of their normalization factors be \frac. A normalization of \sqrt for both the DFT and IDFT, for instance, makes the transforms unitary. A discrete impulse, x_n=1 at ''n'' = 0 and 0 otherwise; might transform to X_k = 1 for all ''k'' (use normalization factors 1 for DFT and \frac for IDFT). A DC signal, X_k = 1 at ''k'' = 0 and 0 otherwise; might inversely transform to x_n = 1 for all n (use \frac for DFT and 1 for IDFT) which is consistent with viewing DC as the
mean average In mathematics and statistics, the arithmetic mean ( ) or arithmetic average, or just the ''mean'' or the ''average'' (when the context is clear), is the sum of a collection of numbers divided by the count of numbers in the collection. The colle ...
of the signal.


Example

This example demonstrates how to apply the DFT to a sequence of length N=4 and the input vector \mathbf = \begin x_0 \\ x_1 \\ x_2 \\ x_3 \end = \begin 1 \\ 2-i \\ -i \\ -1+2i \end. Calculating the DFT of \mathbf using X_0 = e^ \cdot 1 + e^ \cdot (2-i) + e^ \cdot (-i) + e^ \cdot (-1+2i) = 2 X_1 = e^ \cdot 1 + e^ \cdot (2-i) + e^ \cdot (-i) + e^ \cdot (-1+2i) = -2-2i X_2 = e^ \cdot 1 + e^ \cdot (2-i) + e^ \cdot (-i) + e^ \cdot (-1+2i) = -2i X_3 = e^ \cdot 1 + e^ \cdot (2-i) + e^ \cdot (-i) + e^ \cdot (-1+2i) = 4+4i results in \mathbf = \begin X_0 \\ X_1 \\ X_2 \\ X_3 \end = \begin 2 \\ -2-2i \\ -2i \\ 4+4i \end.


Inverse transform

The discrete Fourier transform is an invertible,
linear transformation In mathematics, and more specifically in linear algebra, a linear map (also called a linear mapping, linear transformation, vector space homomorphism, or in some contexts linear function) is a mapping V \to W between two vector spaces that pre ...
:\mathcal\colon\mathbb^N \to \mathbb^N with \mathbb denoting the set of
complex number In mathematics, a complex number is an element of a number system that extends the real numbers with a specific element denoted , called the imaginary unit and satisfying the equation i^= -1; every complex number can be expressed in the form ...
s. Its inverse is known as Inverse Discrete Fourier Transform (IDFT). In other words, for any N>0, an ''N''-dimensional complex vector has a DFT and an IDFT which are in turn N-dimensional complex vectors. The inverse transform is given by:


Properties


Linearity

The DFT is a linear transform, i.e. if \mathcal(\)_k=X_k and \mathcal(\)_k=Y_k, then for any complex numbers a,b: :\mathcal(\)_k=a X_k + b Y_k


Time and frequency reversal

Reversing the time (i.e. replacing n by N-n) in x_n corresponds to reversing the frequency (i.e. k by N-k). Mathematically, if \ represents the vector x then :if \mathcal(\)_k=X_k :then \mathcal(\)_k=X_


Conjugation in time

If \mathcal(\)_k = X_k then \mathcal(\)_k = X_^*.


Real and imaginary part

This table shows some mathematical operations on x_n in the time domain and the corresponding effects on its DFT X_k in the frequency domain.


Orthogonality

The vectors u_k = \left \; n=0,1,\ldots,N-1 \right\mathsf form an
orthogonal basis In mathematics, particularly linear algebra, an orthogonal basis for an inner product space V is a basis for V whose vectors are mutually orthogonal. If the vectors of an orthogonal basis are normalized, the resulting basis is an orthonormal basi ...
over the set of ''N''-dimensional complex vectors: :u^\mathsf_k u_^* = \sum_^ \left(e^\right) \left(e^\right) = \sum_^ e^ = N~\delta_ where \delta_ is the
Kronecker delta In mathematics, the Kronecker delta (named after Leopold Kronecker) is a function of two variables, usually just non-negative integers. The function is 1 if the variables are equal, and 0 otherwise: \delta_ = \begin 0 &\text i \neq j, \\ 1 &\ ...
. (In the last step, the summation is trivial if k=k', where it is and otherwise is a
geometric series In mathematics, a geometric series is the sum of an infinite number of terms that have a constant ratio between successive terms. For example, the series :\frac \,+\, \frac \,+\, \frac \,+\, \frac \,+\, \cdots is geometric, because each succ ...
that can be explicitly summed to obtain zero.) This orthogonality condition can be used to derive the formula for the IDFT from the definition of the DFT, and is equivalent to the unitarity property below.


The Plancherel theorem and Parseval's theorem

If X_k and Y_k are the DFTs of x_n and y_n respectively then the
Parseval's theorem In mathematics, Parseval's theorem usually refers to the result that the Fourier transform is unitary; loosely, that the sum (or integral) of the square of a function is equal to the sum (or integral) of the square of its transform. It originates ...
states: :\sum_^ x_n y^*_n = \frac \sum_^ X_k Y^*_k where the star denotes
complex conjugation In mathematics, the complex conjugate of a complex number is the number with an equal real part and an imaginary part equal in magnitude but opposite in sign. That is, (if a and b are real, then) the complex conjugate of a + bi is equal to a - ...
.
Plancherel theorem In mathematics, the Plancherel theorem (sometimes called the Parseval–Plancherel identity) is a result in harmonic analysis, proven by Michel Plancherel in 1910. It states that the integral of a function's squared modulus is equal to the inte ...
is a special case of the Parseval's theorem and states: :\sum_^ , x_n, ^2 = \frac \sum_^ , X_k, ^2. These theorems are also equivalent to the unitary condition below.


Periodicity

The periodicity can be shown directly from the definition: : X_ \ \triangleq \ \sum_^ x_n e^ = \sum_^ x_n e^ \underbrace_ = \sum_^ x_n e^ = X_k. Similarly, it can be shown that the IDFT formula leads to a periodic extension.


Shift theorem

Multiplying x_n by a ''linear phase'' e^ for some integer ''m'' corresponds to a ''circular shift'' of the output X_k: X_k is replaced by X_, where the subscript is interpreted modulo ''N'' (i.e., periodically). Similarly, a circular shift of the input x_n corresponds to multiplying the output X_k by a linear phase. Mathematically, if \ represents the vector x then :if \mathcal(\)_k=X_k :then \mathcal\left(\left\\right)_k=X_ :and \mathcal\left(\left\\right)_k=X_k \cdot e^


Circular convolution theorem and cross-correlation theorem

The
convolution theorem In mathematics, the convolution theorem states that under suitable conditions the Fourier transform of a convolution of two functions (or signals) is the pointwise product of their Fourier transforms. More generally, convolution in one domain (e.g ...
for the
discrete-time Fourier transform In mathematics, the discrete-time Fourier transform (DTFT) is a form of Fourier analysis that is applicable to a sequence of values. The DTFT is often used to analyze samples of a continuous function. The term ''discrete-time'' refers to the ...
(DTFT) indicates that a convolution of two sequences can be obtained as the inverse transform of the product of the individual transforms. An important simplification occurs when one of sequences is N-periodic, denoted here by y_, because \scriptstyle \text \displaystyle \ is non-zero at only discrete frequencies (see ), and therefore so is its product with the continuous function \scriptstyle \text \displaystyle \.  That leads to a considerable simplification of the inverse transform. :x * y_\ =\ \scriptstyle^ \displaystyle \left scriptstyle \displaystyle \\cdot \scriptstyle \displaystyle \\right =\ \scriptstyle^ \displaystyle \left scriptstyle \displaystyle \\cdot \scriptstyle \displaystyle \\right where x_ is a
periodic summation In signal processing, any periodic function s_P(t) with period ''P'' can be represented by a summation of an infinite number of instances of an aperiodic function s(t), that are offset by integer multiples of ''P''. This representation is called p ...
of the x sequence: (x_)_n\ \triangleq \sum_^ x_. Customarily, the DFT and inverse DFT summations are taken over the domain ,N-1/math>. Defining those DFTs as X and Y, the result is: : (x * y_)_n \triangleq \sum_^x_\ell \cdot (y_)_ = \underbrace_ \left \_n. In practice, the x sequence is usually length ''N'' or less, and y_ is a periodic extension of an N-length y-sequence, which can also be expressed as a ''circular function'': :(y_)_n = \sum_^\infty y_ = y_, \quad n\in\mathbb. Then the convolution can be written as: which gives rise to the interpretation as a ''circular'' convolution of x and y. It is often used to efficiently compute their linear convolution. (see
Circular convolution Circular convolution, also known as cyclic convolution, is a special case of periodic convolution, which is the convolution of two periodic functions that have the same period. Periodic convolution arises, for example, in the context of the discre ...
, Fast convolution algorithms, and Overlap-save) Similarly, the cross-correlation of x and y_ is given by: :(x \star y_)_n \triangleq \sum_^ x_\ell^* \cdot (y_)_ = \mathcal^ \left \_n. It has been shown that any linear transform that turns convolution into pointwise product is the DFT (up to a permutation of coefficients).


Convolution theorem duality

It can also be shown that: :\mathcal \left \_k \ \triangleq \sum_^ x_n \cdot y_n \cdot e^ ::=\frac (\mathbf)_k, which is the circular convolution of \mathbf and \mathbf.


Trigonometric interpolation polynomial

The trigonometric interpolation polynomial :p(t) = \begin \frac \left X_0 + X_1 e^ + \cdots + X_ e^ + X_ \cos(N\pi t) + X_ e^ + \cdots + X_ e^ \right & N\text \\ \frac \left X_0 + X_1 e^ + \cdots + X_ e^ + X_ e^ + \cdots + X_ e^ \right & N\text \end where the coefficients ''X''''k'' are given by the DFT of ''x''''n'' above, satisfies the interpolation property p(n/N) = x_n for n = 0, \ldots, N-1. For even ''N'', notice that the Nyquist component \frac \cos(N\pi t) is handled specially. This interpolation is ''not unique'': aliasing implies that one could add ''N'' to any of the complex-sinusoid frequencies (e.g. changing e^ to e^) without changing the interpolation property, but giving ''different'' values in between the x_n points. The choice above, however, is typical because it has two useful properties. First, it consists of sinusoids whose frequencies have the smallest possible magnitudes: the interpolation is
bandlimited Bandlimiting is the limiting of a signal's frequency domain representation or spectral density to zero above a certain finite frequency. A band-limited signal is one whose Fourier transform or spectral density has bounded support. A bandli ...
. Second, if the x_n are real numbers, then p(t) is real as well. In contrast, the most obvious trigonometric interpolation polynomial is the one in which the frequencies range from 0 to N-1 (instead of roughly -N/2 to +N/2 as above), similar to the inverse DFT formula. This interpolation does ''not'' minimize the slope, and is ''not'' generally real-valued for real x_n; its use is a common mistake.


The unitary DFT

Another way of looking at the DFT is to note that in the above discussion, the DFT can be expressed as the
DFT matrix In applied mathematics, a DFT matrix is an expression of a discrete Fourier transform (DFT) as a transformation matrix, which can be applied to a signal through matrix multiplication. Definition An ''N''-point DFT is expressed as the multiplicati ...
, a
Vandermonde matrix In linear algebra, a Vandermonde matrix, named after Alexandre-Théophile Vandermonde, is a matrix with the terms of a geometric progression in each row: an matrix :V=\begin 1 & x_1 & x_1^2 & \dots & x_1^\\ 1 & x_2 & x_2^2 & \dots & x_2^\\ 1 & x_3 ...
, introduced by Sylvester in 1867, :\mathbf = \begin \omega_N^ & \omega_N^ & \cdots & \omega_N^ \\ \omega_N^ & \omega_N^ & \cdots & \omega_N^ \\ \vdots & \vdots & \ddots & \vdots \\ \omega_N^ & \omega_N^ & \cdots & \omega_N^ \\ \end where \omega_N = e^ is a primitive ''N''th root of unity. The inverse transform is then given by the inverse of the above matrix, :\mathbf^=\frac\mathbf^* With
unitary Unitary may refer to: Mathematics * Unitary divisor * Unitary element * Unitary group * Unitary matrix * Unitary morphism * Unitary operator * Unitary transformation * Unitary representation * Unitarity (physics) * ''E''-unitary inverse semigrou ...
normalization constants 1/\sqrt, the DFT becomes a
unitary transformation In mathematics, a unitary transformation is a transformation that preserves the inner product: the inner product of two vectors before the transformation is equal to their inner product after the transformation. Formal definition More precisely, ...
, defined by a unitary matrix: :\begin \mathbf &= \frac\mathbf \\ \mathbf^ &= \mathbf^* \\ \left, \det(\mathbf)\ &= 1 \end where \det() is the
determinant In mathematics, the determinant is a scalar value that is a function of the entries of a square matrix. It characterizes some properties of the matrix and the linear map represented by the matrix. In particular, the determinant is nonzero if and ...
function. The determinant is the product of the eigenvalues, which are always \pm 1 or \pm i as described below. In a real vector space, a unitary transformation can be thought of as simply a rigid rotation of the coordinate system, and all of the properties of a rigid rotation can be found in the unitary DFT. The orthogonality of the DFT is now expressed as an
orthonormal In linear algebra, two vectors in an inner product space are orthonormal if they are orthogonal (or perpendicular along a line) unit vectors. A set of vectors form an orthonormal set if all vectors in the set are mutually orthogonal and all of un ...
ity condition (which arises in many areas of mathematics as described in
root of unity In mathematics, a root of unity, occasionally called a Abraham de Moivre, de Moivre number, is any complex number that yields 1 when exponentiation, raised to some positive integer power . Roots of unity are used in many branches of mathematic ...
): :\sum_^U_U_^* = \delta_ If X is defined as the unitary DFT of the vector x, then :X_k = \sum_^ U_ x_n and the
Parseval's theorem In mathematics, Parseval's theorem usually refers to the result that the Fourier transform is unitary; loosely, that the sum (or integral) of the square of a function is equal to the sum (or integral) of the square of its transform. It originates ...
is expressed as :\sum_^x_n y_n^* = \sum_^X_k Y_k^* If we view the DFT as just a coordinate transformation which simply specifies the components of a vector in a new coordinate system, then the above is just the statement that the dot product of two vectors is preserved under a unitary DFT transformation. For the special case \mathbf = \mathbf, this implies that the length of a vector is preserved as well — this is just
Plancherel theorem In mathematics, the Plancherel theorem (sometimes called the Parseval–Plancherel identity) is a result in harmonic analysis, proven by Michel Plancherel in 1910. It states that the integral of a function's squared modulus is equal to the inte ...
, :\sum_^ , x_n, ^2 = \sum_^ , X_k, ^2 A consequence of the circular convolution theorem is that the DFT matrix diagonalizes any
circulant matrix In linear algebra, a circulant matrix is a square matrix in which all row vectors are composed of the same elements and each row vector is rotated one element to the right relative to the preceding row vector. It is a particular kind of Toeplit ...
.


Expressing the inverse DFT in terms of the DFT

A useful property of the DFT is that the inverse DFT can be easily expressed in terms of the (forward) DFT, via several well-known "tricks". (For example, in computations, it is often convenient to only implement a fast Fourier transform corresponding to one transform direction and then to get the other transform direction from the first.) First, we can compute the inverse DFT by reversing all but one of the inputs (Duhamel ''et al.'', 1988): :\mathcal^(\) = \frac\mathcal(\) (As usual, the subscripts are interpreted modulo ''N''; thus, for n = 0, we have x_ = x_0.) Second, one can also conjugate the inputs and outputs: :\mathcal^(\mathbf) = \frac\mathcal\left(\mathbf^*\right)^* Third, a variant of this conjugation trick, which is sometimes preferable because it requires no modification of the data values, involves swapping real and imaginary parts (which can be done on a computer simply by modifying pointers). Define \operatorname(x_n) as x_n with its real and imaginary parts swapped—that is, if x_n = a + b i then \operatorname(x_n) is b + a i. Equivalently, \operatorname(x_n) equals i x_n^*. Then :\mathcal^(\mathbf) = \frac\operatorname(\mathcal(\operatorname(\mathbf))) That is, the inverse transform is the same as the forward transform with the real and imaginary parts swapped for both input and output, up to a normalization (Duhamel ''et al.'', 1988). The conjugation trick can also be used to define a new transform, closely related to the DFT, that is involutory—that is, which is its own inverse. In particular, T(\mathbf) = \mathcal\left(\mathbf^*\right) / \sqrt is clearly its own inverse: T(T(\mathbf)) = \mathbf. A closely related involutory transformation (by a factor of \frac) is H(\mathbf) = \mathcal\left((1 + i) \mathbf^*\right) / \sqrt, since the (1 + i) factors in H(H(\mathbf)) cancel the 2. For real inputs \mathbf, the real part of H(\mathbf) is none other than the
discrete Hartley transform A discrete Hartley transform (DHT) is a Fourier-related transform of discrete, periodic data similar to the discrete Fourier transform (DFT), with analogous applications in signal processing and related fields. Its main distinction from the DFT is ...
, which is also involutory.


Eigenvalues and eigenvectors

The
eigenvalue In linear algebra, an eigenvector () or characteristic vector of a linear transformation is a nonzero vector that changes at most by a scalar factor when that linear transformation is applied to it. The corresponding eigenvalue, often denoted b ...
s of the DFT matrix are simple and well-known, whereas the
eigenvector In linear algebra, an eigenvector () or characteristic vector of a linear transformation is a nonzero vector that changes at most by a scalar factor when that linear transformation is applied to it. The corresponding eigenvalue, often denoted b ...
s are complicated, not unique, and are the subject of ongoing research. Consider the unitary form \mathbf defined above for the DFT of length ''N'', where :\mathbf_ = \frac 1\omega_N^ = \frac 1e^. This matrix satisfies the
matrix polynomial In mathematics, a matrix polynomial is a polynomial with square matrices as variables. Given an ordinary, scalar-valued polynomial : P(x) = \sum_^n =a_0 + a_1 x+ a_2 x^2 + \cdots + a_n x^n, this polynomial evaluated at a matrix ''A'' is :P(A) = ...
equation: :\mathbf^4 = \mathbf. This can be seen from the inverse properties above: operating \mathbf twice gives the original data in reverse order, so operating \mathbf four times gives back the original data and is thus the
identity matrix In linear algebra, the identity matrix of size n is the n\times n square matrix with ones on the main diagonal and zeros elsewhere. Terminology and notation The identity matrix is often denoted by I_n, or simply by I if the size is immaterial o ...
. This means that the eigenvalues \lambda satisfy the equation: :\lambda^4 = 1. Therefore, the eigenvalues of \mathbf are the fourth
roots of unity In mathematics, a root of unity, occasionally called a de Moivre number, is any complex number that yields 1 when raised to some positive integer power . Roots of unity are used in many branches of mathematics, and are especially important in ...
: \lambda is +1, −1, +''i'', or −''i''. Since there are only four distinct eigenvalues for this N\times N matrix, they have some
multiplicity Multiplicity may refer to: In science and the humanities * Multiplicity (mathematics), the number of times an element is repeated in a multiset * Multiplicity (philosophy), a philosophical concept * Multiplicity (psychology), having or using mult ...
. The multiplicity gives the number of
linearly independent In the theory of vector spaces, a set of vectors is said to be if there is a nontrivial linear combination of the vectors that equals the zero vector. If no such linear combination exists, then the vectors are said to be . These concepts are ...
eigenvectors corresponding to each eigenvalue. (There are ''N'' independent eigenvectors; a unitary matrix is never
defective Defective may refer to:: *Defective matrix, in algebra *Defective verb, in linguistics *Defective, or ''haser'', in Hebrew orthography, a spelling variant that does not include mater lectionis *Something presenting an anomaly, such as a product de ...
.) The problem of their multiplicity was solved by McClellan and Parks (1972), although it was later shown to have been equivalent to a problem solved by
Gauss Johann Carl Friedrich Gauss (; german: Gauß ; la, Carolus Fridericus Gauss; 30 April 177723 February 1855) was a German mathematician and physicist who made significant contributions to many fields in mathematics and science. Sometimes refer ...
(Dickinson and Steiglitz, 1982). The multiplicity depends on the value of ''N'' modulo 4, and is given by the following table: Otherwise stated, the
characteristic polynomial In linear algebra, the characteristic polynomial of a square matrix is a polynomial which is invariant under matrix similarity and has the eigenvalues as roots. It has the determinant and the trace of the matrix among its coefficients. The chara ...
of \mathbf is: :\det (\lambda I - \mathbf)= (\lambda-1)^ (\lambda+1)^ (\lambda+i)^ (\lambda-i)^. No simple analytical formula for general eigenvectors is known. Moreover, the eigenvectors are not unique because any linear combination of eigenvectors for the same eigenvalue is also an eigenvector for that eigenvalue. Various researchers have proposed different choices of eigenvectors, selected to satisfy useful properties like orthogonality and to have "simple" forms (e.g., McClellan and Parks, 1972; Dickinson and Steiglitz, 1982; Grünbaum, 1982; Atakishiyev and Wolf, 1997; Candan ''et al.'', 2000; Hanna ''et al.'', 2004; Gurevich and Hadani, 2008). A straightforward approach is to discretize an eigenfunction of the continuous
Fourier transform A Fourier transform (FT) is a mathematical transform that decomposes functions into frequency components, which are represented by the output of the transform as a function of frequency. Most commonly functions of time or space are transformed, ...
, of which the most famous is the
Gaussian function In mathematics, a Gaussian function, often simply referred to as a Gaussian, is a function of the base form f(x) = \exp (-x^2) and with parametric extension f(x) = a \exp\left( -\frac \right) for arbitrary real constants , and non-zero . It is ...
. Since
periodic summation In signal processing, any periodic function s_P(t) with period ''P'' can be represented by a summation of an infinite number of instances of an aperiodic function s(t), that are offset by integer multiples of ''P''. This representation is called p ...
of the function means discretizing its frequency spectrum and discretization means periodic summation of the spectrum, the discretized and periodically summed Gaussian function yields an eigenvector of the discrete transform: *F(m) = \sum_ \exp\left(-\frac\right). The closed form expression for the series can be expressed by
Jacobi theta function In mathematics, theta functions are special functions of several complex variables. They show up in many topics, including Abelian varieties, moduli spaces, quadratic forms, and solitons. As Grassmann algebras, they appear in quantum field theo ...
s as *F(m) = \frac1\vartheta_3\left(\fracN, \exp\left(-\fracN \right)\right). Two other simple closed-form analytical eigenvectors for special DFT period ''N'' were found (Kong, 2008): For DFT period ''N'' = 2''L'' + 1 = 4''K'' + 1, where ''K'' is an integer, the following is an eigenvector of DFT: *F(m) = \prod_^L \left cos\left(\fracm\right) - \cos\left(\fracs\right)\right/math> For DFT period ''N'' = 2''L'' = 4''K'', where ''K'' is an integer, the following is an eigenvector of DFT: *F(m) = \sin\left(\fracm\right) \prod_^\left cos\left(\fracm\right)- \cos\left(\fracs\right)\right/math> The choice of eigenvectors of the DFT matrix has become important in recent years in order to define a discrete analogue of the fractional Fourier transform—the DFT matrix can be taken to fractional powers by exponentiating the eigenvalues (e.g., Rubio and Santhanam, 2005). For the
continuous Fourier transform A Fourier transform (FT) is a mathematical transform that decomposes functions into frequency components, which are represented by the output of the transform as a function of frequency. Most commonly functions of time or space are transformed, ...
, the natural orthogonal eigenfunctions are the Hermite functions, so various discrete analogues of these have been employed as the eigenvectors of the DFT, such as the Kravchuk polynomials (Atakishiyev and Wolf, 1997). The "best" choice of eigenvectors to define a fractional discrete Fourier transform remains an open question, however.


Uncertainty principles


Probabilistic uncertainty principle

If the random variable is constrained by :\sum_^ , X_n, ^2 = 1 , then :P_n=, X_n, ^2 may be considered to represent a discrete
probability mass function In probability and statistics, a probability mass function is a function that gives the probability that a discrete random variable is exactly equal to some value. Sometimes it is also known as the discrete density function. The probability mass ...
of , with an associated probability mass function constructed from the transformed variable, :Q_m = N , x_m, ^2 . For the case of continuous functions P(x) and Q(k), the Heisenberg uncertainty principle states that :D_0(X)D_0(x)\ge\frac where D_0(X) and D_0(x) are the variances of , X, ^2 and , x, ^2 respectively, with the equality attained in the case of a suitably normalized Gaussian distribution. Although the variances may be analogously defined for the DFT, an analogous uncertainty principle is not useful, because the uncertainty will not be shift-invariant. Still, a meaningful uncertainty principle has been introduced by Massar and Spindel. However, the Hirschman entropic uncertainty will have a useful analog for the case of the DFT. The Hirschman uncertainty principle is expressed in terms of the
Shannon entropy Shannon may refer to: People * Shannon (given name) * Shannon (surname) * Shannon (American singer), stage name of singer Shannon Brenda Greene (born 1958) * Shannon (South Korean singer), British-South Korean singer and actress Shannon Arrum W ...
of the two probability functions. In the discrete case, the Shannon entropies are defined as :H(X)=-\sum_^ P_n\ln P_n and :H(x)=-\sum_^ Q_m\ln Q_m , and the entropic uncertainty principle becomes :H(X)+H(x) \ge \ln(N) . The equality is obtained for P_n equal to translations and modulations of a suitably normalized Kronecker comb of period A where A is any exact integer divisor of N. The probability mass function Q_m will then be proportional to a suitably translated Kronecker comb of period B=N/A.


Deterministic uncertainty principle

There is also a well-known deterministic uncertainty principle that uses signal sparsity (or the number of non-zero coefficients). Let \left\, x\right\, _0 and \left\, X\right\, _0 be the number of non-zero elements of the time and frequency sequences x_0,x_1,\ldots,x_ and X_0,X_1,\ldots,X_, respectively. Then, :N \leq \left\, x\right\, _0 \cdot \left\, X\right\, _0. As an immediate consequence of the
inequality of arithmetic and geometric means In mathematics, the inequality of arithmetic and geometric means, or more briefly the AM–GM inequality, states that the arithmetic mean of a list of non-negative real numbers is greater than or equal to the geometric mean of the same list; and ...
, one also has 2\sqrt \leq \left\, x\right\, _0 + \left\, X\right\, _0. Both uncertainty principles were shown to be tight for specifically-chosen "picket-fence" sequences (discrete impulse trains), and find practical use for signal recovery applications.


DFT of real and purely imaginary signals

*If x_0, \ldots, x_ are
real number In mathematics, a real number is a number that can be used to measure a ''continuous'' one-dimensional quantity such as a distance, duration or temperature. Here, ''continuous'' means that values can have arbitrarily small variations. Every real ...
s, as they often are in practical applications, then the DFT X_0, \ldots, X_ is even symmetric: :x_n \in \mathbb \quad \forall n \in \ \implies X_k = X_^* \quad \forall k \in \, where X^*\, denotes
complex conjugation In mathematics, the complex conjugate of a complex number is the number with an equal real part and an imaginary part equal in magnitude but opposite in sign. That is, (if a and b are real, then) the complex conjugate of a + bi is equal to a - ...
. It follows that for even N X_0 and X_ are real-valued, and the remainder of the DFT is completely specified by just N/2-1 complex numbers. *If x_0, \ldots, x_ are purely imaginary numbers, then the DFT X_0, \ldots, X_ is odd symmetric: :x_n \in i \mathbb \quad \forall n \in \ \implies X_k = -X_^* \quad \forall k \in \, where X^*\, denotes
complex conjugation In mathematics, the complex conjugate of a complex number is the number with an equal real part and an imaginary part equal in magnitude but opposite in sign. That is, (if a and b are real, then) the complex conjugate of a + bi is equal to a - ...
.


Generalized DFT (shifted and non-linear phase)

It is possible to shift the transform sampling in time and/or frequency domain by some real shifts ''a'' and ''b'', respectively. This is sometimes known as a generalized DFT (or GDFT), also called the shifted DFT or offset DFT, and has analogous properties to the ordinary DFT: :X_k = \sum_^ x_n e^ \quad \quad k = 0, \dots, N-1. Most often, shifts of 1/2 (half a sample) are used. While the ordinary DFT corresponds to a periodic signal in both time and frequency domains, a=1/2 produces a signal that is anti-periodic in frequency domain (X_ = - X_k) and vice versa for b=1/2. Thus, the specific case of a = b = 1/2 is known as an ''odd-time odd-frequency'' discrete Fourier transform (or O2 DFT). Such shifted transforms are most often used for symmetric data, to represent different boundary symmetries, and for real-symmetric data they correspond to different forms of the discrete cosine and
sine In mathematics, sine and cosine are trigonometric functions of an angle. The sine and cosine of an acute angle are defined in the context of a right triangle: for the specified angle, its sine is the ratio of the length of the side that is oppo ...
transforms. Another interesting choice is a=b=-(N-1)/2, which is called the centered DFT (or CDFT). The centered DFT has the useful property that, when ''N'' is a multiple of four, all four of its eigenvalues (see above) have equal multiplicities (Rubio and Santhanam, 2005) The term GDFT is also used for the non-linear phase extensions of DFT. Hence, GDFT method provides a generalization for constant amplitude orthogonal block transforms including linear and non-linear phase types. GDFT is a framework to improve time and frequency domain properties of the traditional DFT, e.g. auto/cross-correlations, by the addition of the properly designed phase shaping function (non-linear, in general) to the original linear phase functions (Akansu and Agirman-Tosun, 2010). The discrete Fourier transform can be viewed as a special case of the
z-transform In mathematics and signal processing, the Z-transform converts a discrete-time signal, which is a sequence of real or complex numbers, into a complex frequency-domain (z-domain or z-plane) representation. It can be considered as a discrete-tim ...
, evaluated on the unit circle in the complex plane; more general z-transforms correspond to ''complex'' shifts ''a'' and ''b'' above.


Multidimensional DFT

The ordinary DFT transforms a one-dimensional sequence or
array An array is a systematic arrangement of similar objects, usually in rows and columns. Things called an array include: {{TOC right Music * In twelve-tone and serial composition, the presentation of simultaneous twelve-tone sets such that the ...
x_n that is a function of exactly one discrete variable ''n''. The multidimensional DFT of a multidimensional array x_ that is a function of ''d'' discrete variables n_\ell = 0, 1, \dots, N_\ell-1 for \ell in 1, 2, \dots, d is defined by: :X_ = \sum_^ \left(\omega_^ \sum_^ \left( \omega_^ \cdots \sum_^ \omega_^\cdot x_ \right) \right) , where \omega_ = \exp(-i 2\pi/N_\ell) as above and the ''d'' output indices run from k_\ell = 0, 1, \dots, N_\ell-1. This is more compactly expressed in
vector Vector most often refers to: *Euclidean vector, a quantity with a magnitude and a direction *Vector (epidemiology), an agent that carries and transmits an infectious pathogen into another living organism Vector may also refer to: Mathematic ...
notation, where we define \mathbf = (n_1, n_2, \dots, n_d) and \mathbf = (k_1, k_2, \dots, k_d) as ''d''-dimensional vectors of indices from 0 to \mathbf - 1, which we define as \mathbf - 1 = (N_1 - 1, N_2 - 1, \dots, N_d - 1): :X_\mathbf = \sum_^ e^ x_\mathbf \, , where the division \mathbf / \mathbf is defined as \mathbf / \mathbf = (n_1/N_1, \dots, n_d/N_d) to be performed element-wise, and the sum denotes the set of nested summations above. The inverse of the multi-dimensional DFT is, analogous to the one-dimensional case, given by: :x_\mathbf = \frac \sum_^ e^ X_\mathbf \, . As the one-dimensional DFT expresses the input x_n as a superposition of sinusoids, the multidimensional DFT expresses the input as a superposition of
plane wave In physics, a plane wave is a special case of wave or field: a physical quantity whose value, at any moment, is constant through any plane that is perpendicular to a fixed direction in space. For any position \vec x in space and any time t, th ...
s, or multidimensional sinusoids. The direction of oscillation in space is \mathbf / \mathbf. The amplitudes are X_\mathbf. This decomposition is of great importance for everything from
digital image processing Digital image processing is the use of a digital computer to process digital images through an algorithm. As a subcategory or field of digital signal processing, digital image processing has many advantages over analog image processing. It allo ...
(two-dimensional) to solving
partial differential equations In mathematics, a partial differential equation (PDE) is an equation which imposes relations between the various partial derivatives of a multivariable function. The function is often thought of as an "unknown" to be solved for, similarly to ...
. The solution is broken up into plane waves. The multidimensional DFT can be computed by the
composition Composition or Compositions may refer to: Arts and literature *Composition (dance), practice and teaching of choreography *Composition (language), in literature and rhetoric, producing a work in spoken tradition and written discourse, to include v ...
of a sequence of one-dimensional DFTs along each dimension. In the two-dimensional case x_ the N_1 independent DFTs of the rows (i.e., along n_2) are computed first to form a new array y_. Then the N_2 independent DFTs of ''y'' along the columns (along n_1) are computed to form the final result X_. Alternatively the columns can be computed first and then the rows. The order is immaterial because the nested summations above
commute Commute, commutation or commutative may refer to: * Commuting, the process of travelling between a place of residence and a place of work Mathematics * Commutative property, a property of a mathematical operation whose result is insensitive to th ...
. An algorithm to compute a one-dimensional DFT is thus sufficient to efficiently compute a multidimensional DFT. This approach is known as the ''row-column'' algorithm. There are also intrinsically multidimensional FFT algorithms.


The real-input multidimensional DFT

For input data x_ consisting of
real numbers In mathematics, a real number is a number that can be used to measure a ''continuous'' one-dimensional quantity such as a distance, duration or temperature. Here, ''continuous'' means that values can have arbitrarily small variations. Every real ...
, the DFT outputs have a conjugate symmetry similar to the one-dimensional case above: :X_ = X_^* , where the star again denotes complex conjugation and the \ell-th subscript is again interpreted modulo N_\ell (for \ell = 1,2,\ldots,d).


Applications

The DFT has seen wide usage across a large number of fields; we only sketch a few examples below (see also the references at the end). All applications of the DFT depend crucially on the availability of a fast algorithm to compute discrete Fourier transforms and their inverses, a fast Fourier transform.


Spectral analysis

When the DFT is used for signal spectral analysis, the \ sequence usually represents a finite set of uniformly spaced time-samples of some signal x(t)\,, where t represents time. The conversion from continuous time to samples (discrete-time) changes the underlying
Fourier transform A Fourier transform (FT) is a mathematical transform that decomposes functions into frequency components, which are represented by the output of the transform as a function of frequency. Most commonly functions of time or space are transformed, ...
of x(t) into a
discrete-time Fourier transform In mathematics, the discrete-time Fourier transform (DTFT) is a form of Fourier analysis that is applicable to a sequence of values. The DTFT is often used to analyze samples of a continuous function. The term ''discrete-time'' refers to the ...
(DTFT), which generally entails a type of distortion called
aliasing In signal processing and related disciplines, aliasing is an effect that causes different signals to become indistinguishable (or ''aliases'' of one another) when sampled. It also often refers to the distortion or artifact that results when a ...
. Choice of an appropriate sample-rate (see ''
Nyquist rate In signal processing, the Nyquist rate, named after Harry Nyquist, is a value (in units of samples per second or hertz, Hz) equal to twice the highest frequency (bandwidth) of a given function or signal. When the function is digitized at a hig ...
'') is the key to minimizing that distortion. Similarly, the conversion from a very long (or infinite) sequence to a manageable size entails a type of distortion called '' leakage'', which is manifested as a loss of detail (a.k.a. resolution) in the DTFT. Choice of an appropriate sub-sequence length is the primary key to minimizing that effect. When the available data (and time to process it) is more than the amount needed to attain the desired frequency resolution, a standard technique is to perform multiple DFTs, for example to create a
spectrogram A spectrogram is a visual representation of the spectrum of frequencies of a signal as it varies with time. When applied to an audio signal, spectrograms are sometimes called sonographs, voiceprints, or voicegrams. When the data are represen ...
. If the desired result is a power spectrum and noise or randomness is present in the data, averaging the magnitude components of the multiple DFTs is a useful procedure to reduce the
variance In probability theory and statistics, variance is the expectation of the squared deviation of a random variable from its population mean or sample mean. Variance is a measure of dispersion, meaning it is a measure of how far a set of numbers ...
of the spectrum (also called a
periodogram In signal processing, a periodogram is an estimate of the spectral density of a signal. The term was coined by Arthur Schuster in 1898. Today, the periodogram is a component of more sophisticated methods (see spectral estimation). It is the most ...
in this context); two examples of such techniques are the
Welch method Welch's method, named after Peter D. Welch, is an approach for spectral density estimation. It is used in physics, engineering, and applied mathematics for estimating the power of a signal at different frequencies. The method is based on the c ...
and the Bartlett method; the general subject of estimating the power spectrum of a noisy signal is called
spectral estimation In statistical signal processing, the goal of spectral density estimation (SDE) or simply spectral estimation is to estimate the spectral density (also known as the power spectral density) of a signal from a sequence of time samples of the signa ...
. A final source of distortion (or perhaps ''illusion'') is the DFT itself, because it is just a discrete sampling of the DTFT, which is a function of a continuous frequency domain. That can be mitigated by increasing the resolution of the DFT. That procedure is illustrated at . *The procedure is sometimes referred to as ''zero-padding'', which is a particular implementation used in conjunction with the fast Fourier transform (FFT) algorithm. The inefficiency of performing multiplications and additions with zero-valued "samples" is more than offset by the inherent efficiency of the FFT. *As already stated, leakage imposes a limit on the inherent resolution of the DTFT, so there is a practical limit to the benefit that can be obtained from a fine-grained DFT.


Optics, diffraction, and tomography

The discrete Fourier transform is widely used with spatial frequencies in modeling the way that light, electrons, and other probes travel through optical systems and scatter from objects in two and three dimensions. The dual (direct/reciprocal) vector space of three dimensional objects further makes available a three dimensional reciprocal lattice, whose construction from translucent object shadows (via the
Fourier slice theorem Fourier may refer to: People named Fourier * Joseph Fourier (1768–1830), French mathematician and physicist *Charles Fourier (1772–1837), French utopian socialist thinker *Peter Fourier (1565–1640), French saint in the Roman Catholic Church ...
) allows tomographic reconstruction of three dimensional objects with a wide range of applications e.g. in modern medicine.


Filter bank

See and .


Data compression

The field of digital signal processing relies heavily on operations in the frequency domain (i.e. on the Fourier transform). For example, several
lossy In information technology, lossy compression or irreversible compression is the class of data compression methods that uses inexact approximations and partial data discarding to represent the content. These techniques are used to reduce data size ...
image and sound compression methods employ the discrete Fourier transform: the signal is cut into short segments, each is transformed, and then the Fourier coefficients of high frequencies, which are assumed to be unnoticeable, are discarded. The decompressor computes the inverse transform based on this reduced number of Fourier coefficients. (Compression applications often use a specialized form of the DFT, the discrete cosine transform or sometimes the
modified discrete cosine transform The modified discrete cosine transform (MDCT) is a transform based on the type-IV discrete cosine transform (DCT-IV), with the additional property of being lapped transform, lapped: it is designed to be performed on consecutive blocks of a larger ...
.) Some relatively recent compression algorithms, however, use
wavelet transform In mathematics, a wavelet series is a representation of a square-integrable (real number, real- or complex number, complex-valued) function (mathematics), function by a certain orthonormal series (mathematics), series generated by a wavelet. This ...
s, which give a more uniform compromise between time and frequency domain than obtained by chopping data into segments and transforming each segment. In the case of
JPEG2000 JPEG 2000 (JP2) is an image compression standard and coding system. It was developed from 1997 to 2000 by a Joint Photographic Experts Group committee chaired by Touradj Ebrahimi (later the JPEG president), with the intention of superseding the ...
, this avoids the spurious image features that appear when images are highly compressed with the original
JPEG JPEG ( ) is a commonly used method of lossy compression for digital images, particularly for those images produced by digital photography. The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and imag ...
.


Partial differential equations

Discrete Fourier transforms are often used to solve
partial differential equations In mathematics, a partial differential equation (PDE) is an equation which imposes relations between the various partial derivatives of a multivariable function. The function is often thought of as an "unknown" to be solved for, similarly to ...
, where again the DFT is used as an approximation for the
Fourier series A Fourier series () is a summation of harmonically related sinusoidal functions, also known as components or harmonics. The result of the summation is a periodic function whose functional form is determined by the choices of cycle length (or ''p ...
(which is recovered in the limit of infinite ''N''). The advantage of this approach is that it expands the signal in complex exponentials e^, which are eigenfunctions of differentiation: /\textx = in e^. Thus, in the Fourier representation, differentiation is simple—we just multiply by in. (However, the choice of n is not unique due to aliasing; for the method to be convergent, a choice similar to that in the
trigonometric interpolation In mathematics, trigonometric interpolation is interpolation with trigonometric polynomials. Interpolation is the process of finding a function which goes through some given data points. For trigonometric interpolation, this function has to be a tr ...
section above should be used.) A
linear differential equation In mathematics, a linear differential equation is a differential equation that is defined by a linear polynomial in the unknown function and its derivatives, that is an equation of the form :a_0(x)y + a_1(x)y' + a_2(x)y'' \cdots + a_n(x)y^ = b( ...
with constant coefficients is transformed into an easily solvable algebraic equation. One then uses the inverse DFT to transform the result back into the ordinary spatial representation. Such an approach is called a
spectral method Spectral methods are a class of techniques used in applied mathematics and scientific computing to numerically solve certain differential equations. The idea is to write the solution of the differential equation as a sum of certain "basis function ...
.


Polynomial multiplication

Suppose we wish to compute the polynomial product ''c''(''x'') = ''a''(''x'') · ''b''(''x''). The ordinary product expression for the coefficients of ''c'' involves a linear (acyclic) convolution, where indices do not "wrap around." This can be rewritten as a cyclic convolution by taking the coefficient vectors for ''a''(''x'') and ''b''(''x'') with constant term first, then appending zeros so that the resultant coefficient vectors a and b have dimension . Then, :\mathbf = \mathbf * \mathbf Where c is the vector of coefficients for ''c''(''x''), and the convolution operator *\, is defined so :c_n = \sum_^a_m b_ \qquad\qquad\qquad n=0,1\dots,d-1 But convolution becomes multiplication under the DFT: :\mathcal(\mathbf) = \mathcal(\mathbf)\mathcal(\mathbf) Here the vector product is taken elementwise. Thus the coefficients of the product polynomial ''c''(''x'') are just the terms 0, ..., deg(''a''(''x'')) + deg(''b''(''x'')) of the coefficient vector :\mathbf = \mathcal^(\mathcal(\mathbf)\mathcal(\mathbf)). With a fast Fourier transform, the resulting algorithm takes ''O''(''N'' log ''N'') arithmetic operations. Due to its simplicity and speed, the
Cooley–Tukey FFT algorithm The Cooley–Tukey algorithm, named after J. W. Cooley and John Tukey, is the most common fast Fourier transform (FFT) algorithm. It re-expresses the discrete Fourier transform (DFT) of an arbitrary composite size N = N_1N_2 in terms of ''N''1 ...
, which is limited to
composite Composite or compositing may refer to: Materials * Composite material, a material that is made from several different substances ** Metal matrix composite, composed of metal and other parts ** Cermet, a composite of ceramic and metallic materials ...
sizes, is often chosen for the transform operation. In this case, ''d'' should be chosen as the smallest integer greater than the sum of the input polynomial degrees that is factorizable into small prime factors (e.g. 2, 3, and 5, depending upon the FFT implementation).


Multiplication of large integers

The fastest known
algorithms In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing c ...
for the multiplication of very large
integer An integer is the number zero (), a positive natural number (, , , etc.) or a negative integer with a minus sign (−1, −2, −3, etc.). The negative numbers are the additive inverses of the corresponding positive numbers. In the language ...
s use the polynomial multiplication method outlined above. Integers can be treated as the value of a polynomial evaluated specifically at the number base, with the coefficients of the polynomial corresponding to the digits in that base (ex. 123 = 1 \cdot 10^2 + 2 \cdot 10^1 + 3 \cdot 10^0). After polynomial multiplication, a relatively low-complexity carry-propagation step completes the multiplication.


Convolution

When data is
convolved In mathematics (in particular, functional analysis), convolution is a mathematical operation on two functions ( and ) that produces a third function (f*g) that expresses how the shape of one is modified by the other. The term ''convolution'' ...
with a function with wide support, such as for downsampling by a large sampling ratio, because of the
Convolution theorem In mathematics, the convolution theorem states that under suitable conditions the Fourier transform of a convolution of two functions (or signals) is the pointwise product of their Fourier transforms. More generally, convolution in one domain (e.g ...
and the FFT algorithm, it may be faster to transform it, multiply pointwise by the transform of the filter and then reverse transform it. Alternatively, a good filter is obtained by simply truncating the transformed data and re-transforming the shortened data set.


Some discrete Fourier transform pairs

{, class="wikitable" style="text-align: center;" , + Some DFT pairs , - ! x_n = \frac{1}{N}\sum_{k=0}^{N-1}X_k e^{i 2 \pi kn/N} ! X_k = \sum_{n=0}^{N-1}x_n e^{-i 2 \pi kn/N} ! Note , - , x_n e^{i 2 \pi n\ell/N} \, , X_{k-\ell}\, , Frequency shift theorem , - , x_{n-\ell}\, , X_k e^{-i 2 \pi k\ell/N} \, , Time shift theorem , - , x_n \in \mathbb{R} , X_k=X_{N-k}^*\, , Real DFT , - , a^n\, , \left\{ \begin{matrix} N & \mbox{if } a = e^{i 2 \pi k/N} \\ \frac{1-a^N}{1-a \, e^{-i 2 \pi k/N} } & \mbox{otherwise} \end{matrix} \right. , from the
geometric progression In mathematics, a geometric progression, also known as a geometric sequence, is a sequence of non-zero numbers where each term after the first is found by multiplying the previous one by a fixed, non-zero number called the ''common ratio''. For ex ...
formula , - , {N-1 \choose n}\, , \left(1+e^{-i 2 \pi k/N} \right)^{N-1}\, , from the
binomial theorem In elementary algebra, the binomial theorem (or binomial expansion) describes the algebraic expansion of powers of a binomial. According to the theorem, it is possible to expand the polynomial into a sum involving terms of the form , where the ...
, - , \left\{ \begin{matrix} \frac{1}{W} & \mbox{if } 2n < W \mbox{ or } 2(N-n) < W \\ 0 & \mbox{otherwise} \end{matrix} \right. , \left\{ \begin{matrix} 1 & \mbox{if } k = 0 \\ \frac{\sin\left(\frac{\pi W k}{N}\right)} {W \sin\left(\frac{\pi k}{N}\right)} & \mbox{otherwise} \end{matrix} \right. , x_n is a rectangular
window function In signal processing and statistics, a window function (also known as an apodization function or tapering function) is a mathematical function that is zero-valued outside of some chosen interval, normally symmetric around the middle of the inte ...
of ''W'' points centered on ''n''=0, where ''W'' is an
odd integer In mathematics, parity is the property of an integer of whether it is even or odd. An integer is even if it is a multiple of two, and odd if it is not.. For example, −4, 0, 82 are even because \begin -2 \cdot 2 &= -4 \\ 0 \cdot 2 &= 0 \\ 41 ...
, and X_k is a
sinc In mathematics, physics and engineering, the sinc function, denoted by , has two forms, normalized and unnormalized.. In mathematics, the historical unnormalized sinc function is defined for by \operatornamex = \frac. Alternatively, the u ...
-like function (specifically, X_k is a
Dirichlet kernel In mathematical analysis, the Dirichlet kernel, named after the German mathematician Peter Gustav Lejeune Dirichlet, is the collection of periodic functions defined as D_n(x)= \sum_^n e^ = \left(1+2\sum_^n\cos(kx)\right)=\frac, where is any nonneg ...
) , - , \sum_{j\in\mathbb{Z \exp\left(-\frac{\pi}{cN}\cdot(n+N\cdot j)^2\right) , \sqrt{cN} \cdot \sum_{j\in\mathbb{Z \exp\left(-\frac{\pi c}{N}\cdot(k+N\cdot j)^2\right) ,
Discretization In applied mathematics, discretization is the process of transferring continuous functions, models, variables, and equations into discrete counterparts. This process is usually carried out as a first step toward making them suitable for numerical ...
and
periodic summation In signal processing, any periodic function s_P(t) with period ''P'' can be represented by a summation of an infinite number of instances of an aperiodic function s(t), that are offset by integer multiples of ''P''. This representation is called p ...
of the scaled
Gaussian function In mathematics, a Gaussian function, often simply referred to as a Gaussian, is a function of the base form f(x) = \exp (-x^2) and with parametric extension f(x) = a \exp\left( -\frac \right) for arbitrary real constants , and non-zero . It is ...
s for c>0. Since either c or \frac{1}{c} is larger than one and thus warrants fast convergence of one of the two series, for large c you may choose to compute the frequency spectrum and convert to the time domain using the discrete Fourier transform.


Generalizations


Representation theory

The DFT can be interpreted as a complex-valued representation of the finite
cyclic group In group theory, a branch of abstract algebra in pure mathematics, a cyclic group or monogenous group is a group, denoted C''n'', that is generated by a single element. That is, it is a set of invertible elements with a single associative bina ...
. In other words, a sequence of n complex numbers can be thought of as an element of n-dimensional complex space \mathbb{C}^n or equivalently a function f from the finite cyclic group of order n to the complex numbers, \mathbb{Z}_n \mapsto \mathbb{C}. So f is a
class function In mathematics, especially in the fields of group theory and representation theory of groups, a class function is a function on a group ''G'' that is constant on the conjugacy classes of ''G''. In other words, it is invariant under the conjugat ...
on the finite cyclic group, and thus can be expressed as a linear combination of the irreducible characters of this group, which are the roots of unity. From this point of view, one may generalize the DFT to representation theory generally, or more narrowly to the
representation theory of finite groups The representation theory of groups is a part of mathematics which examines how groups act on given structures. Here the focus is in particular on operations of groups on vector spaces. Nevertheless, groups acting on other groups or on sets are ...
. More narrowly still, one may generalize the DFT by either changing the target (taking values in a field other than the complex numbers), or the domain (a group other than a finite cyclic group), as detailed in the sequel.


Other fields

Many of the properties of the DFT only depend on the fact that e^{-\frac{i 2 \pi}{N is a primitive root of unity, sometimes denoted \omega_N or W_N (so that \omega_N^N = 1). Such properties include the completeness, orthogonality, Plancherel/Parseval, periodicity, shift, convolution, and unitarity properties above, as well as many FFT algorithms. For this reason, the discrete Fourier transform can be defined by using roots of unity in
fields Fields may refer to: Music * Fields (band), an indie rock band formed in 2006 * Fields (progressive rock band), a progressive rock band formed in 1971 * ''Fields'' (album), an LP by Swedish-based indie rock band Junip (2010) * "Fields", a song b ...
other than the complex numbers, and such generalizations are commonly called ''number-theoretic transforms'' (NTTs) in the case of
finite field In mathematics, a finite field or Galois field (so-named in honor of Évariste Galois) is a field that contains a finite number of elements. As with any field, a finite field is a set on which the operations of multiplication, addition, subtr ...
s. For more information, see number-theoretic transform and discrete Fourier transform (general).


Other finite groups

The standard DFT acts on a sequence ''x''0, ''x''1, ..., ''x''''N''−1 of complex numbers, which can be viewed as a function {0, 1, ..., ''N'' − 1} → C. The multidimensional DFT acts on multidimensional sequences, which can be viewed as functions : \{0, 1, \ldots, N_1-1\} \times \cdots \times \{0, 1, \ldots, N_d-1\} \to \mathbb{C}. This suggests the generalization to Fourier transforms on arbitrary finite groups, which act on functions ''G'' → C where ''G'' is a
finite group Finite is the opposite of infinite. It may refer to: * Finite number (disambiguation) * Finite set, a set whose cardinality (number of elements) is some natural number * Finite verb, a verb form that has a subject, usually being inflected or marked ...
. In this framework, the standard DFT is seen as the Fourier transform on a
cyclic group In group theory, a branch of abstract algebra in pure mathematics, a cyclic group or monogenous group is a group, denoted C''n'', that is generated by a single element. That is, it is a set of invertible elements with a single associative bina ...
, while the multidimensional DFT is a Fourier transform on a direct sum of cyclic groups. Further, Fourier transform can be on cosets of a group.


Alternatives

There are various alternatives to the DFT for various applications, prominent among which are
wavelets A wavelet is a wave-like oscillation with an amplitude that begins at zero, increases or decreases, and then returns to zero one or more times. Wavelets are termed a "brief oscillation". A taxonomy of wavelets has been established, based on the num ...
. The analog of the DFT is the
discrete wavelet transform In numerical analysis and functional analysis, a discrete wavelet transform (DWT) is any wavelet transform for which the wavelets are discretely sampled. As with other wavelet transforms, a key advantage it has over Fourier transforms is temporal ...
(DWT). From the point of view of
time–frequency analysis In signal processing, time–frequency analysis comprises those techniques that study a signal in both the time and frequency domains ''simultaneously,'' using various time–frequency representations. Rather than viewing a 1-dimensional signal (a ...
, a key limitation of the Fourier transform is that it does not include ''location'' information, only ''frequency'' information, and thus has difficulty in representing transients. As wavelets have location as well as frequency, they are better able to represent location, at the expense of greater difficulty representing frequency. For details, see comparison of the discrete wavelet transform with the discrete Fourier transform.


See also

*
Companion matrix In linear algebra, the Frobenius companion matrix of the monic polynomial : p(t)=c_0 + c_1 t + \cdots + c_t^ + t^n ~, is the square matrix defined as :C(p)=\begin 0 & 0 & \dots & 0 & -c_0 \\ 1 & 0 & \dots & 0 & -c_1 \\ 0 & 1 & \dots & 0 & -c_2 ...
*
DFT matrix In applied mathematics, a DFT matrix is an expression of a discrete Fourier transform (DFT) as a transformation matrix, which can be applied to a signal through matrix multiplication. Definition An ''N''-point DFT is expressed as the multiplicati ...
* Fast Fourier transform *
FFTPACK FFTPACK is a package of Fortran subroutines for the fast Fourier transform. It includes complex, real, sine, cosine, and quarter-wave transforms. It was developed by Paul Swarztrauber of the National Center for Atmospheric Research, and is i ...
*
FFTW The Fastest Fourier Transform in the West (FFTW) is a software library for computing discrete Fourier transforms (DFTs) developed by Matteo Frigo and Steven G. Johnson at the Massachusetts Institute of Technology. FFTW is one of the fastest fre ...
* Generalizations of Pauli matrices *
Least-squares spectral analysis Least-squares spectral analysis (LSSA) is a method of estimating a frequency spectrum, based on a least squares fit of sinusoids to data samples, similar to Fourier analysis. Fourier analysis, the most used spectral method in science, generally ...
*
List of Fourier-related transforms This is a list of linear transformations of function (mathematics), functions related to Fourier analysis. Such transformations Map (mathematics), map a function to a set of coefficients of basis functions, where the basis functions are trigonomet ...
*
Multidimensional transform In mathematical analysis and applications, multidimensional transforms are used to analyze the frequency content of signals in a domain of two or more dimensions. Multidimensional Fourier transform One of the more popular multidimensional tran ...
*
Zak transform In mathematics, the Zak transform (also known as the Gelfand mapping) is a certain operation which takes as input a function of one variable and produces as output a function of two variables. The output function is called the Zak transform of the ...
*
Quantum Fourier transform In quantum computing, the quantum Fourier transform (QFT) is a linear transformation on quantum bits, and is the quantum analogue of the discrete Fourier transform. The quantum Fourier transform is a part of many quantum algorithms, notably Shor' ...


Notes


References


Further reading

* * * esp. section 30.2: The DFT and FFT, pp. 830–838. * * * (Note that this paper has an apparent typo in its table of the eigenvalue multiplicities: the +''i''/−''i'' columns are interchanged. The correct table can be found in McClellan and Parks, 1972, and is easily confirmed numerically.) * * * * * * * *


External links


Interactive explanation of the DFTMatlab tutorial on the Discrete Fourier Transformation


* ttp://www.fftw.org FFTW: Fast implementation of the DFT - coded in C and under General Public License (GPL)br>General Purpose FFT Package: Yet another fast DFT implementation in C & FORTRAN, permissive license
{{DEFAULTSORT:Discrete Fourier Transform Fourier analysis Digital signal processing Numerical analysis Discrete transforms Unitary operators cs:Fourierova transformace#Diskrétní Fourierova transformace pt:Transformada de Fourier#Transformada discreta de Fourier fi:Fourier'n muunnos#Diskreetti Fourier'n muunnos